ExecuteWithRequestContext{ }
execute{
  doExecute(task);
}
doExecute{
  BoundRequestContext requestContext=D.inject(BoundRequestContext.class);
  Map<String,Object> context=new HashMap<String,Object>();
  try {
    requestContext.associate(context);
    requestContext.activate();
    D.inject(task.getExecutorBeanClass()).execute(task);
  finally {
    requestContext.invalidate();
    requestContext.deactivate();
    requestContext.dissociate(context);
}
